// 返回的生命周期是rust推断出来的
fn multiply<'a>(first: &'a i32, second: &'a i32) -> i32 {
    first * second
}
// 读作： 生命周期 'b 至少和 'a 一样长
fn chose_first<'a:'b, 'b>(first: &'a i32, _: &'b i32) -> &'b i32 {
    first
}

fn main() {
    let first = 2;
    {
        let second = 3;
        println!("The product is {}", multiply(&first, &second));
        println!("The first is {}", chose_first(&first, &second));
    }
}